package com.summer.campussct.service;

import com.summer.campussct.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.summer.campussct.pojo.dto.RestResult;
import com.summer.campussct.pojo.dto.UserQueryParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * <p>
 * 用户商户信息表，敏感信息可能会加密存储，因此设置为256个字符 服务类
 * </p>
 *
 * @author Mr.Chen
 * @since 2024-04-21
 */
public interface IUserService extends IService<User> {

    /**
     * 根据id查询个人信息
     */
    User getUserDetailsById(long id);

    RestResult login(Map<String, String> loginForm);

    RestResult getUserInfo(long userId);

    RestResult modify(User user);

    RestResult getListCondition(UserQueryParam userQueryParam);

    RestResult getRoleIdByUser(long id);

    RestResult assignRole(User user);

    RestResult disableUser(long id, Integer status);

    RestResult addUser(User user);

    RestResult modifyUser(User user);

    RestResult getUserDetails(long id);

    RestResult register(Map<String, String> registerForm);

    RestResult modifyAvatar(MultipartFile file);

    RestResult getPermRange(long uid);
}
